package com.meepo.sdk.component

import android.app.Application
import com.meepo.sdk.component.fragmentation.Fragmentation
import com.meepo.sdk.component.http.HttpConfig
import com.meepo.sdk.component.http.RetrofitManager
import com.meepo.sdk.component.view.swipback.SwipeBackHelper

object Components {

    @JvmStatic
    fun initHttp(httpConfig: HttpConfig) {
        RetrofitManager.init(httpConfig)
    }

    @JvmStatic
    fun init(application: Application) {
        SwipeBackHelper.init(application)

        Fragmentation.builder() // 设置 栈视图 模式为 （默认）悬浮球模式   SHAKE: 摇一摇唤出  NONE：隐藏， 仅在Debug环境生效
            .stackViewMode(Fragmentation.BUBBLE)
            .debug(false) // 实际场景建议.debug(BuildConfig.DEBUG)
            /**
             * 可以获取到[com.meepo.framework.third.fragmentation.exception.AfterSaveStateTransactionWarning]
             * 在遇到After onSaveInstanceState时，不会抛出异常，会回调到下面的ExceptionHandler
             */
            .handleException {
                // 以Bugtags为例子: 把捕获到的 Exception 传到 Bugtags 后台。
                // Bugtags.sendException(e);
            }
            .install()
    }
}